// 栈模拟
function flatten(arr) {
    let res = [];
    // stack 递归
    let stack = [...arr];
    while (stack.length) {
        let item = stack.pop();
        if (Array.isArray(item)) {
            stack.push(...item);
        } else {
            res.push(item);
        }
    }
    return res.reverse();
}